home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / dos / pascal / csdudes.exe / PDXTBL.HPP < prev    next >
Text File  |  1992-03-27  |  3KB  |  80 lines

  1. /*┌───────────────────────────────────────────────────────────────────────┐
  2.   │                                                                       │
  3.   │   Module:  PDXTBL.H                                                   │
  4.   │   Author:  Rick Kligman                                               │
  5.   │   Purpose: Paradox Table Base Class Header                            │
  6.   │                                                                       │
  7.   │   Last Modified: 05-17-91 00:34am                                     │
  8.   │                                                                       │
  9.   │   Copyright 1991 Rick Kligman                                         │
  10.   │   This code may be freely used and distributed in commercial apps     │
  11.   │   provided some mention of PXBuddy++ is made in the documentation.    │
  12.   │                                                                       │
  13.   │   Version 1.00                                                        │
  14.   └───────────────────────────────────────────────────────────────────────┘ */
  15.  
  16. #ifndef RKPDXTBL_H
  17. #define RKPDXTBL_H
  18.  
  19. #ifndef   __STRING_H
  20.   #include <string.h>
  21. #endif
  22.  
  23. #ifndef   PXENGINE_H
  24.   extern "C" {
  25.        #include <pxengine.h>
  26.   }
  27. #endif
  28.  
  29. #ifndef   RKPDXFLD_H
  30.   #include "pdxfld.hpp"
  31. #endif
  32.  
  33. //    ╓─────────────────────────────────────────────────────────────────╖
  34. //    ║                     Base class for Tables                       ║
  35. //    ╚═════════════════════════════════════════════════════════════════╝
  36.  
  37. class pxtable
  38. {
  39. protected:
  40.  
  41.   int     first_open;         // table opened flag
  42.   absfld  **fldptr;           // array of pointers to abstract field class
  43.   int     blanks_as_zeros;    // flag for zeros being written or blanks
  44.   int     numflds;            // number of fields in the table
  45.   int     tbl_open;           // tells whether table is open or not
  46.  
  47.   virtual int init_flds()   { return PXSUCCESS; }
  48.     int   updateRec();      // aff added for net support
  49.     int   deletedRec();      // same as above
  50.  
  51. public:
  52.  
  53.   TABLEHANDLE   th;
  54.   RECORDHANDLE  rh;
  55.   LOCKHANDLE    lh;
  56.   char          tblname [60];
  57.   int           tblmarker;        // flag for EOT or BOT
  58.   int           keyed;            // is this table keyed?
  59.  
  60.   pxtable();
  61.   ~pxtable();
  62.  
  63.   int   open(char *tablename = "", FIELDHANDLE fh = 0);
  64.   int   read_rec();
  65.   int   read_flds();
  66.   int   put_flds();
  67.   int   close();
  68.   int   recget();
  69.   int   recupdate();
  70.   int   recinsert();
  71.   int   recappend();
  72.   int   recfirst();
  73.   int   reclast();
  74.   int   recnext();
  75.   int   recprev();
  76.   int   recdelete();
  77. };
  78.  
  79. #endif
  80.